package com.anolesoft.amljmes.fortyone.service;

import java.util.List;

import com.anolesoft.amljmes.fortyone.dto.MesOrderTraceDto;
import com.anolesoft.amljmes.fortyone.dto.MesStoveFabinfoDto;
import com.anolesoft.amljmes.fortyone.dto.StoveDispatchQueryParamDto;
import com.anolesoft.amljmes.fortyone.vo.MesStoveFabinfoVo;
import com.anolesoft.amljmes.fortyone.vo.StoveInpectJsonBean;
import com.anolesoft.amljmes.test.fenguangyingdu.dto.FenguangYingduEmpDTO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

public interface MesStoveFabinfoService {
	// 检验操作查询
	List<MesStoveFabinfoDto> MesStoveFabinfoAll(String stoveFabinfoObj);

	// 删除选中
	int updateMesStoveFabinfoDelete(List<String> objuids);

	// 取消选中
	int updateMesStoveFabinfoCancel(List<String> objuids);

	/**
	 * 更新填写的检验信息
	 * @param stoveInpectJsonBean
	 * @return
	 */
	int updateMesStoveFabinfoSl(StoveInpectJsonBean stoveInpectJsonBean);

	// 根据炉次编号查询工序名
	MesStoveFabinfoDto MesStoveFabinfoByGxname(String StoveFabinfoObj);

	// 根据当前登录人查胸卡号密码
	FenguangYingduEmpDTO queryEmpPassword(String objuid);

	// 根据当前登录人查password2
	FenguangYingduEmpDTO queryEmpPassword2(String objuid);

	// 根据工序名包含入厂查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByRc();

	// 根据工序名包含清洗查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByQx();

	// 根据工序名包含干燥查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByGz();

	// 根据工序名包含脆性查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByCx();

	// 根据工序名包含硬度检查查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByYdjc();

	// 根据工序名包含校正查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByJz();

	// 根据工序名为检验查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByJy();

	// 根据工序名包含碳不包含氮查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByTd();

	// 根据工序名包含氮查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByD();

	// 根据工序名包含火或为预热或固溶或冷处理或氧化处理或奥式体化或时效或沉淀硬化查询质量信息
	List<MesStoveFabinfoDto> MesStoveFabinfoByHor();

	// 保存制造记录
	int addMesStoveFabinfo(MesStoveFabinfoDto inFoDtoParam);

	// 保存炉次编号
	int insertMesStoveFabinfo(List<MesStoveFabinfoDto> amStoveFabinfoDto);

	// 根据41厂制造记录条码查询
	MesOrderTraceDto MesStoveFabinfoByZzjl(String fabrecordid);

	// 41厂工序名是否包含工序名关键字符
	int liketMesStoveFabinfo(String objuid, String fabrecordid);

	// 根据炉次编号查询所在炉次内的制造记录有哪些
	List<MesOrderTraceDto> mesStoveFabinfoZzjl(String stoveFabinfoObj);

	// 获取41厂制造记录、当前工序名、当前工序号
	List<MesStoveFabinfoDto> MesStoveFabinfoBy41(String StoveFabinfoObj);

	// 根据炉次编号查询所在炉次内的标记有哪些
	List<MesStoveFabinfoDto> mesStoveFabinfobiaoji(String stoveFabinfoObj);

	void updateFabinfo(String lcid, String workcode, String worker);

	/**
	 * 根据查询条件，查询当前炉次的派工信息列表
	 * 
	 * @param paramDto
	 * @return
	 */
	Page<MesStoveFabinfoVo> getMesStoveFabinfoVOs(StoveDispatchQueryParamDto paramDto);

	/**
	 * 删除炉次中已派工的工序信息
	 * 
	 * @param objuids
	 */
	void deleteDispatch(List<String> objuids);
}
